package com.xiaoyu.awakening.ai.control.entity.dto;


import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * AwkChatCompletionsReqDto
 *
 * @author wangxiaoyu
 * @date 2024/7/29 16:42
 * @since v1.0
 */
@Data
public final class AwkChatCompletionsReqDto {
    @JsonProperty(
            value = "messages",
            required = true
    )
    private List<AwkChatMessage> messages;
    @JsonProperty("max_tokens")
    private Integer maxTokens;
    @JsonProperty("temperature")
    private Double temperature;
    @JsonProperty("top_p")
    private Double topP;
    @JsonProperty("logit_bias")
    private Map<String, Integer> logitBias;
    @JsonProperty("user")
    private String user;
    @JsonProperty("n")
    private Integer n;
    @JsonProperty("stop")
    private List<String> stop;
    @JsonProperty("presence_penalty")
    private Double presencePenalty;
    @JsonProperty("frequency_penalty")
    private Double frequencyPenalty;
    @JsonProperty("stream")
    private Boolean stream;
    @JsonProperty("model")
    private String model;

    public AwkChatCompletionsReqDto(List<AwkChatMessage> messages) {
        this.messages = messages;
    }
}
